Welcome to pandas!

7.4 分组之分段分组

如果要分组的数据是数字,且希望按照指定数字范围进行分组,则需要使用到pd.cut()

函数配合,

import pandas as pd

df=pd.read_excel(r "D:\Pyobject2023\object\测试\素材\1.7.04 分组之分段分组.xlsx" )

print (df)

lvl=pd.cut(x=df.分数,

bins=[ 0,60,80,101 ],

labels=[ "差","中","优" ],

right = False #False 表示左闭右开,默认为False

)

for t,d in df.groupby( by = lvl , observed = True ): #observed原来默认为False,未来版设置为True,如果改为True可以减少警告提示

print (t)

print (d)

print ("---------------------------------")

返回:

姓名 分数
0 张三 96
1 李四 57
2 王麻子 82
3 许流子 60
4 郭流子 79

姓名 分数
1 李四 57

---------------------------------

姓名 分数
3 许流子 60
4 郭流子 79

---------------------------------

姓名 分数
0 张三 96
2 王麻子 82

---------------------------------